package wang.jinggo.errcode;

import java.util.HashMap;
import java.util.Map;

/**
 * 公共错误代码
 * 
 * @author wyj
 *
 */
public enum CommonResultCode {
	/** 成功/true */
	e0("成功"),
	/** false */
	e700100("false"),
	/** 内部错误 */
    e700101("内部错误"),
	/** 参数错误 */
    e700102("参数错误"),
	/** 服务断路 */
    e700103("服务断路"),
	/** 没有权限 */
	e401("Unauthorized"),
	/** token失效 */
	e710001("登录过期");
	/** 描述 */
	private String msg;

	private CommonResultCode(String msg) {
		this.msg = msg;
	}

	/**
	 * 返回Map形式
	 */
	public Map<String, Object> toMap() {
		Map<String, Object> map = new HashMap<>();
		map.put("msgcode", Integer.valueOf(this.name().substring(1)));
		map.put("msg", msg);
		map.put("success", true);
		map.put("data", "");
		return map;
	}

	/**
	 * 返回Map形式
	 */
	public Map<String, Object> toMap(Object result) {
		Map<String, Object> map = new HashMap<>();
		map.put("msgcode", Integer.valueOf(this.name().substring(1)));
		map.put("msg", msg);
		map.put("data", result);
		return map;
	}

	/**
	 * 返回Map形式
	 */
	public Map<String, Object> toMap(boolean status) {
		Map<String, Object> map = new HashMap<>();
		map.put("msgcode", Integer.valueOf(this.name().substring(1)));
		map.put("msg", msg);
		map.put("success", status);
		map.put("data", "");
		return map;
	}

	/**
	 * 返回Map形式
	 */
	public Map<String, Object> toMap(Object result, boolean status) {
		Map<String, Object> map = new HashMap<>();
		map.put("msgcode", Integer.valueOf(this.name().substring(1)));
		map.put("msg", msg);
		map.put("success", status);
		map.put("data", result);
		return map;
	}

}
